package the.broccoli.weixin.service.dto;

import lombok.Data;

import java.io.Serializable;

@Data
public class WeiXinUnifiedOrderDTO implements Serializable {
    private static final long serialVersionUID = -4147351652637723266L;

    /**
     * <pre>
     * 字段名：商品描述.
     * 类型：String(128)
     * 示例值： 腾讯充值中心-QQ会员充值
     * 描述：商品简单描述，该字段须严格按照规范传递，具体请见参数规定
     * </pre>
     */
    private String body;

    /**
     * <pre>
     * 字段名：商户订单号.
     * 类型：String(32)
     * 示例值：20150806125346
     * 描述：商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
     * </pre>
     */
    private String outTradeNo;

    /**
     * <pre>
     * 字段名：总金额.
     * 类型：Int
     * 示例值： 888
     * 描述：订单总金额，单位为分，详见支付金额
     * </pre>
     */
    private Integer totalFee;

    /**
     * <pre>
     * 字段名：终端IP.
     * 类型：String(16)
     * 示例值：123.12.12.123
     * 描述：APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP。
     * </pre>
     */
    private String spbillCreateIp;

    /**
     * <pre>
     * 字段名：通知地址.
     * 类型：String(256)
     * 示例值：http://www.weixin.qq.com/wxpay/pay.php
     * 描述：接收微信支付异步通知回调地址，通知url必须为直接可访问的url，不能携带参数。
     * </pre>
     */
    private String notifyUrl = "https://hello5688.com/req/express/order/pay";

    /**
     * <pre>
     * 字段名：交易类型.
     * 类型：String(16)
     * 示例值： JSAPI
     * 描述： 取值如下：JSAPI，NATIVE，APP，详细说明见参数规定:
     * JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付，统一下单接口trade_type的传参可参考这里
     * 默认 JSAPI
     * </pre>
     */
    private String tradeType = "JSAPI";

    private String openId;

}
